#!/bin/bash

# Bodhi 应用启动脚本
echo "🚀 正在启动 Bodhi 应用..."

# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; then
    echo "❌ Docker 未安装，请先安装 Docker"
    exit 1
fi

# 检查 Docker Compose 是否安装
if ! command -v docker-compose &> /dev/null; then
    echo "❌ Docker Compose 未安装，请先安装 Docker Compose"
    exit 1
fi

# 检查端口是否被占用
check_port() {
    if lsof -Pi :$1 -sTCP:LISTEN -t >/dev/null 2>&1; then
        echo "❌ 端口 $1 已被占用"
        return 1
    fi
    return 0
}

# 检查端口占用
if ! check_port 80 || ! check_port 8000; then
    echo "💡 请释放端口或修改 docker-compose.yml 中的端口映射"
    exit 1
fi

# 拉取最新镜像
echo "📥 拉取最新镜像..."
docker-compose pull

# 启动服务
echo "🐳 启动容器..."
docker-compose up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 5

# 检查服务状态
if docker-compose ps | grep -q "Up"; then
    echo "✅ Bodhi 应用已成功启动！"
    echo ""
    echo "🌐 访问地址："
    echo "   主应用: http://localhost"
    echo "   管理后台: http://localhost:8000"
    echo ""
    echo "📊 查看日志: docker-compose logs -f"
    echo "🛑 停止服务: docker-compose down"
else
    echo "❌ 启动失败，请查看日志："
    docker-compose logs
    exit 1
fi
